﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DADOS.auxiliares;
using DADOS.esf;
using DADOS.usuario;

namespace PROAD.atendimento.Forms
{
    public partial class fromMigrar : System.Web.UI.Page
    {

        metEndereco metAux = new metEndereco();

        metEsf metEquipe = new metEsf();

        metPaciente metPaciente = new metPaciente();

        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                CarregarDadosAtuais();
                CarregarUF();
            }
        }

        private void CarregarDadosAtuais()
        {
            var objPaciente = metPaciente.getUsuarioByCod(Convert.ToInt32(Request.QueryString["codPac"]));
            lblUfAtual.Text = objPaciente.TB_ES.TB_US.TB_UF.NO_SIGLA;
            lblUsAtual.Text = objPaciente.TB_ES.TB_US.NO_US;
            lblEsAtual.Text = objPaciente.TB_ES.NO_ES;
        }

        private void CarregarUF()
        {
            ddlUf.DataSource = metAux.ListaUF();
            ddlUf.DataBind();
            ddlUf.Items.Insert(0, new ListItem("Selecione uma UF", "0"));

            ddlUS.Items.Insert(0, new ListItem("Selecione US", "0"));
            ddlUS.Enabled = false;
            ddlEs.Items.Insert(0, new ListItem("Selecione uma equipe de saúde", "0"));
            ddlEs.Enabled = false;
        }

        private void CarregarUs(int intCodUf)
        {
            ddlUS.DataSource = metEquipe.ListaUsUf(intCodUf);
            ddlUS.DataBind();
            ddlUS.Items.Insert(0, new ListItem("Selecione US", "0"));
        }

        private void CarregarEs(int intCodUs)
        {
            ddlEs.DataSource = metEquipe.ListaEsUsGeral(intCodUs);
            ddlEs.DataBind();
            ddlEs.Items.Insert(0, new ListItem("Selecione uma equipe de saúde", "0"));
        }

        protected void ddlUf_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlUf.SelectedValue != "0")
            {
                CarregarUs(Convert.ToInt32(ddlUf.SelectedValue));
                ddlUS.SelectedValue = "0";
                ddlUS.Enabled = true;
                ddlEs.SelectedValue = "0";
                ddlEs.Enabled = false;
            }else
            {
                ddlUS.SelectedValue = "0";
                ddlUS.Enabled = false;
                ddlEs.SelectedValue = "0";
                ddlEs.Enabled = false;
            }
        }

        protected void ddlUS_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlUS.SelectedValue != "0")
            {
                CarregarEs(Convert.ToInt32(ddlUS.SelectedValue));
                ddlEs.Enabled = true;
            }
            else
            {
                ddlEs.SelectedValue = "0";
                ddlEs.Enabled = false;
            }
        }

        protected void btnMigrar_Click(object sender, EventArgs e)
        {
            if(ValidarForm())
            {
                metPaciente.MigrarPaciente(Convert.ToInt32(Request.QueryString["codPac"]), Convert.ToInt32(ddlEs.SelectedValue));
                txtTituloMsn.Text = "Alerta";
                txtTextoMsn.Text = "Paciente migrado com sucesso!";
                ModalPopupMsn.Show();
            }else
            {
                ModalPopupMsn.Show();
            }
        }

        protected Boolean ValidarForm()
        {   

            if(ddlUf.SelectedValue == "0")
            {
                txtTituloMsn.Text = "Alerta";
                txtTextoMsn.Text = "Favor selecionar uma UF!";
                return false;
            }

            if (ddlUS.SelectedValue == "0")
            {
                txtTituloMsn.Text = "Alerta";
                txtTextoMsn.Text = "Favor selecionar uma US!";
                return false;
            }

            if (ddlEs.SelectedValue == "0")
            {
                txtTituloMsn.Text = "Alerta";
                txtTextoMsn.Text = "Favor selecionar uma ES!";
                return false;
            }

            return true;
        }




    }
}